Saltar al contenido principal

Floorplan

El plano del suelo define el espacio dónde puedes caminar y cómo los objetos interactivos colisionan con la escena. Crea una malla de navegación (donde puedes caminar, la malla azuln que aparece cuando tienes seleccionado el plano del suelo) y una malla de colisión (con la que objetos colisionan, la malla roja o amarilla dependiendo de si estás utilizando trimesh o heightfield).

Description of the Floor Plan Panel's properties

Generación de la malla de navegación

Cuando haces click en regenerate y cuando publicas tu escena, Creator genera una malla de navegación haciendo lo siguiente:

Primero, Creator combina toda la geometría transitable en la escena en una gran malla. Luego, Creator voxeliza la malla. Si alguna vez has visto un mundo de Minecraft, tu malla se convertirá en algo similar a un paisaje de Minecraft. Donde el tamaño de los voxels está definido por el tamaño de celda y el ancho de celda.

Si tienes una escena grande, necesitarás muchos voxels. A veces, hay tantos voxels que puede haber un fallo. Así que Creator tiene una casilla de verificación de Auto Cell Size que intentará mantener un número razonable de voxels para trabajar. Puedes obtener buenos resultados si está marcada, pero por lo general, Creator puede obtener mejores resultados ajustando algunos de estos valores. Todos los algoritmos que determinan si puedes caminar en una determinada área se calculan en relación con estos voxels. Así que cuanto mayor sea la resolución, más se parecerá a tu escena real. Por ejemplo, si tienes una puerta que mide 1m de ancho y tu tamaño de celda es 0.25m, el ancho de la puerta en la estructura de datos voxelizados puede ser solo de 0.75m, porque uno de esos voxels se intersecta con el lado de la puerta. Todos los demás parámetros para calcular el plano del suelo dependen del cell size y el cell height. Por lo tanto, intenta reducir el tamaño de celda a algo pequeño, como 0.1m, y aumentalo si se niega a regenerar o tarda mucho en hacerlo.

Una vez que hayas ajustado el tamaño de celda (cell size) y la altura de celda (cell height), puedes solucionar otros problemas con los otros parámetros. Si tienes un pasillo al que no puedes acceder, puedes reducir el Agent Radius o el Agent Height para que el avatar pueda pasar por el pasillo voxelizado. Si tienes una rampa o escaleras o una colina que no puedes subir, intenta ajustar el Maximum Step Height y el Maximum Slope. Estos parámetros controlan qué tan alto pueden ser los objetos por los que puedes caminar y cuál es la pendiente máxima que puede tener el camino. Puede que tengas una serie de áreas pequeñas, como algunas piedras en el medio de un arroyo, que no son transitables porque son demasiado pequeñas. El Minimum Region Area controla qué tan pequeña puede ser el área antes de que se excluya de la malla de navegación. Ten en cuenta que el Agent Radius también tendra importancia aquí.

A veces, tu malla no será muy compatible con el generador de mallas de navegación. En estos casos, se recomienda crear una malla de navegación personalizada en Blender. Puede ser una malla simplificada que añades como un modelo separado a tu escena de Creator. Márcala como transitable. Luego marca los otros modelos que está reemplazando como no transitables. Para solucionar problemas menores en la malla de navegación, puedes usar el Box Collider para crear un área transitable.

Generación de la malla de colisión

Para las colisiones, Creator tiene dos métodos de generación de mallas de colisión. El primero es el trimesh, que es una combinación de todas las mallas colisionables en tu escena. Si el trimesh es demasiado denso, puede causar problemas de rendimiento en el sistema de colisiones. Por esta razón, Creator también tiene el heightfield.

El heightfield divide la escena en una cuadrícula 2D. Al mirar desde arriba, el heightfield se construye encontrando la altura en el centro de cada celda de la cuadrícula. Termina pareciéndose un poco a si hubieras colocado un paño sobre tu entorno. Funciona relativamente bien para terrenos al aire libre, pero tiene problemas cuando hay objetos colisionables más pequeños, paredes y salientes. El heightfield no puede crear una malla de colisión precisa para escenas de múltiples niveles. Solo crearía geometría de colisión para la capa superior de toda la geometría colisionable en la escena.

Los Box Colliders también se pueden usar además de cualquiera de los métodos anteriores. Son colisionadores simplificados que pueden ser muy útiles cuando tienes una malla con geometría compleja.